Parental control systems and other content monitoring applications monitor a client computer's network traffic, and log each request from the client computer to access a Uniform Resource Locator (“URL”) on the internet by issuing a Hypertext Transfer Protocol (“HTTP”) request. The purpose of this URL logging is to track and monitor the user's internet activity. However, the user does not necessarily initiate, or even know about, every HTTP request generated by the client computer. Many applications use HTTP requests to automatically contact internet servers to check for updates, synchronize data, upload statistics, etc. Content monitoring applications that monitor network traffic and log attempts to access URLs log not only HTTP requests generated by the user, but also these automatically generated requests. For example, a content monitoring application that logs all HTTP requests will log not only actual user browsing activity, but also automatic activity such as, for example, a Google toolbar plug-in querying for autocomplete strings. When such content monitoring applications log automatically generated HTTP requests, this not only puts an unnecessary load on the logging system, but obscures the actual user activity, losing the user's browsing patterns in the automatically generated noise.
Some content monitoring applications attempt to filter automatically generated requests out of the logs using blacklists that are shipped with the application or downloaded to the client. However, it is difficult and time consuming to maintain these blacklists. In the ever-changing internet world, they are always out-of-date and incomplete.
Other content monitoring applications avoid the issue of logging automatically generated HTTP requests by monitoring at the browser plug-in level rather than the network traffic level. Such applications thus avoid capturing automatically requested URLs. However, by monitoring at the browser plug-in level, these applications allow the user to easily avoid being monitored by simply using an unsupported browser. This approach results in a weak monitoring solution.
It would be desirable to address these issues.